import axios from 'axios';

// 创建axios实例
const instance = axios.create({
    baseURL: 'http://localhost:3333', // 请求的基础URL
    timeout: 2000,                   // 请求超时时间
});

// 添加请求拦截器
instance.interceptors.request.use(
    function (config) {
        // 在发送请求之前做些什么，例如，添加token到header
        return config;
    },
    function (error) {
        // 请求错误时做一些事
        return Promise.reject(error);
    }
);

// 添加响应拦截器
instance.interceptors.response.use(
    function (response) {
        // 对响应数据做点什么，例如，统一处理响应格式
        return response;
    },
    function (error) {
        const status = error.response ? error.response.status : null;
        let message = '';

        switch (status) {
            case 401:
                message = 'TOKEN过期';
                break;
            case 403:
                message = '无权访问';
                break;
            case 404:
                message = '请求地址错误';
                break;
            case 500:
                message = '服务器出现问题';
                break;
            default:
                message = '网络出现问题';
                break;
        }

        // 处理全局错误信息
        console.error(message);
        // alert(message);

        return Promise.reject(error);
    }
);

export default instance;